package cn.trip.dao.index;

import java.util.Date;
import java.util.List;

import org.apache.ibatis.annotations.Param;

import cn.trip.pojo.Trip_address;
import cn.trip.pojo.Trip_bill;
import cn.trip.pojo.Trip_brands;
import cn.trip.pojo.Trip_place;
import cn.trip.pojo.Trip_product;
import cn.trip.pojo.Trip_room;
import cn.trip.pojo.Trip_theme;
import cn.trip.pojo.Trip_tourist;

public interface IndexMapper {

	/**
	 * 查询所有复合商品信息
	 */
	public List<Trip_brands> getAllList(@Param("from")int currentPageNo,@Param("pageSize")int pageSize);
	
	/**
	 * 获取符合商品数量
	 */
	public int allCount();
	
	public int partCount(@Param("p_type")int p_type);
	
	/**
	 * 查询所有门票商品信息
	 */
	public List<Trip_product> getAllListByPtype(@Param("p_type")int p_type,
							@Param("area")String area,@Param("p_Name")String p_Name,@Param("th_id")Integer th_id,
							@Param("from")int currentPageNo,@Param("pageSize")int pageSize);
	
	/**
	 * 查询游玩路线
	 */
	public List<Trip_brands> getBrandsDesc();
	
	/**
	 * 查询复合商品所有商品
	 */
	public List<Trip_brands> getBrands(@Param("area")String area,@Param("desc")String desc,
						@Param("title")String title,@Param("from")int currentPageNo,
						@Param("pageSize")int pageSize);
	
	/**
	 * 查询所有主题
	 */
	public List<Trip_theme> getThemes(@Param("theme_id")int theme_id);
	
	/**
	 * 通过id查询指定商品信息
	 */
	public Trip_brands getBrandById(@Param("id")int id);
	
	/**
	 * 查询地点
	 */
	public List<Trip_address> getAddress();
	
	/**
	 * 查询旅游商品信息  通过usingdate和area
	 */
	public Trip_brands getBrandsByAreaOrUsingDate(@Param("usingDate")Date usingDate,@Param("title")String title);
	
	/**
	 * 添加订单bill
	 */
	public int add(@Param("p_Name")String p_Name,@Param("usingDate")Date usingDate,
				@Param("price")double price,@Param("count")int count,
				@Param("totalPrice")double totalPrice,
				@Param("createDate")Date createDate,
				@Param("u_id")int u_id,@Param("status")int status,
				@Param("isPay")int isPay,@Param("phone")String phone,
				@Param("contact")String contact,@Param("proType")int proType,
				@Param("userCode")String userCode,@Param("b_Code")String b_Code,
				@Param("org_pic")String org_pic,@Param("p_createBy")String p_createBy);
	
	/**
	 * 添加出游人信息
	 */
	public int addTourist(Trip_tourist tourist);
	
	/**
	 * 根据对应信息查出订单id
	 */
	public Trip_bill getBill_Id(@Param("b_Code")String b_Code);
	
	/**
	 * 查询地点
	 */
	public List<Trip_place> getPlaces();
	/**
	 * 查询门票商品的数量
	 */
	public int getPlaceCount(@Param("p_Type")int p_Type,@Param("area")String area
						,@Param("p_Name")String p_Name,@Param("th_id")int th_id);
	
	/**
	 * 查询指定门票信息 用id
	 */
	public Trip_product geTrip_product(@Param("id")int id);
	
	/**
	 * 对应酒店名查房型
	 */
	public Trip_room getTrip_rooms(@Param("hotelName")String hotelName,@Param("roomName")String roomName,
								@Param("usingDate")Date usingDate);
	
	/**
	 * 修改房型的数量
	 */
	public int modifyRoomRest(@Param("room_id")int room_id,@Param("rest")int rest);
	
	/**
	 * 添加酒店订单
	 */
	public int addHotelBill(@Param("p_Name")String p_Name,@Param("usingDate")Date usingDate,
			@Param("price")double price,@Param("count")int count,
			@Param("totalPrice")double totalPrice,
			@Param("createDate")Date createDate,
			@Param("roomType")Integer roomType,
			@Param("u_id")int u_id,@Param("status")int status,
			@Param("isPay")int isPay,@Param("phone")String phone,
			@Param("contact")String contact,@Param("proType")int proType,
			@Param("userCode")String userCode,@Param("b_Code")String b_Code,@Param("org_pic")String org_pic,@Param("p_createBy")String p_createBy);
	
	/**
	 * 查询房型 通过room_id
	 */
	public Trip_room getRoom_id(@Param("room_id")int room_id);
	
}
